#include <stdio.h> // 包含标准输入输出头文件
#include <string.h> // 包含字符串处理头文件
#include <cstdlib> 

typedef struct { 
    int x;
    int y;
}po;
// malloc函数语法：void* malloc(size_t size);
// int main() {
//     po *p1; // 定义指向结构体的指针
//     p1 = (po*)malloc(sizeof(po)); // 动态分配内存(根据结构体大小确定内存大小)sizeof函数返回结构体的字节大小。
//     printf("x = %d\n", p1->x = 10);  // 赋值并打印
//     printf("y = %d\n", p1->y = 20);  // 赋值并打印
//     free(p1); // 释放动态分配的内存
//     return 0;       
// }


// int main(){
//     char *s;
//     s = (char*)malloc(10); // 动态分配内存
//     strcpy(s, "hello"); // 复制字符串到动态分配的内存
//     printf("%s\n", s); // 打印字符串
//     free(s); // 释放动态分配的内存
//     return 0;
// }

int main(){
    int *arr;
    arr = (int*)malloc(5 * sizeof(int)); // 分配5x4=20字节的空间
    for(int i = 0; i < 5; i++){
        arr[i] = i;
    }
    for(int i = 0; i < 5; i++){
        printf("%d ", arr[i]);
    }
    free(arr);
    return 0;
}